﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Text;
using EverBuy.SocialNetworking.BusinessObjects;

namespace EverBuy.SocialNetworking.Services
{
    /// <summary>
    /// 
    /// </summary>
    [ServiceContract]
    public partial interface IAlertService : IDisposable
    {
        /// <summary>
        /// 
        /// </summary>
        [OperationContract]
        void AddAccountModifiedAlert();

        /// <summary>
        /// 
        /// </summary>
        /// <param name="alert"></param>
        [OperationContract]
        void SaveAlert(Alert alert);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="statusUpdate"></param>
        [OperationContract]
        void AddStatusUpdateAlert(StatusUpdate statusUpdate);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="friendRequestFrom"></param>
        /// <param name="friendRequestTo"></param>
        /// <param name="requestGuid"></param>
        /// <param name="message"></param>
        [OperationContract]
        void AddFriendRequestAlert(Account friendRequestFrom, 
                                    Account friendRequestTo, 
                                    Guid requestGuid, 
                                    string message);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="friendRequestFrom"></param>
        /// <param name="friendRequestTo"></param>
        [OperationContract]
        void AddFriendAddedAlert(Account friendRequestFrom, 
                                    Account friendRequestTo);


    }
}
